home *** CD-ROM | disk | FTP | other *** search
- package com.ms.dxmedia;
-
- import com.ms.com.ComException;
- import com.ms.com.ComFailException;
- import com.ms.dxmedia.rawcom.DAView;
- import com.ms.dxmedia.rawcom.IDABehavior;
- import com.ms.dxmedia.rawcom.IDAImage;
- import com.ms.dxmedia.rawcom.IDAView;
- import com.ms.dxmedia.rawcom.IDAViewSite;
- import java.applet.Applet;
- import java.util.Vector;
-
- public class ModelMakerApplet extends Applet implements IDAViewSite {
- private boolean _constructed;
- private ImageBvr _img;
- private ImageBvr _backgroundImg;
- private SoundBvr _snd;
- private Vector _inputImages;
- private boolean _modelSetYet;
- private Model _model;
- private IDAView _view;
- private ErrorAndWarningReceiver _errorRecv = new DefaultErrReceiver();
-
- public IDABehavior grabImageComPtr() {
- if (!this._constructed) {
- this.constructModel();
- }
-
- return this._img.getCOMBvr();
- }
-
- public void addInputImage(IDAImage var1) {
- if (this._inputImages == null) {
- this._inputImages = new Vector();
- }
-
- this._inputImages.addElement(var1);
- }
-
- public IDABehavior grabBackgroundImageComPtr() {
- if (!this._constructed) {
- this.constructModel();
- }
-
- return this._backgroundImg.getCOMBvr();
- }
-
- public ErrorAndWarningReceiver registerErrorAndWarningReceiver(ErrorAndWarningReceiver var1) {
- ErrorAndWarningReceiver var2 = this._errorRecv;
- this._errorRecv = var1;
- return var2;
- }
-
- public ImageBvr createBackgroundImage() {
- return Statics.emptyImage;
- }
-
- public IDABehavior grabSoundComPtr() {
- if (!this._constructed) {
- this.constructModel();
- }
-
- return this._snd.getCOMBvr();
- }
-
- public IDAView grabViewComPtr() {
- if (!this._constructed) {
- this.constructModel();
- }
-
- return this._view;
- }
-
- protected synchronized void constructModel() throws DXMException {
- try {
- if (!this._modelSetYet) {
- try {
- this.wait();
- } catch (InterruptedException var6) {
- }
- }
-
- if (this._model == null) {
- throw this.handleError(-2147467259, "No model set");
- } else {
- this._view = new DAView();
- this._view.putSite(this);
- if (this._inputImages != null) {
- int var1 = this._inputImages.size();
- ImageBvr[] var2 = new ImageBvr[var1];
-
- for(int var3 = 0; var3 < var1; ++var3) {
- IDAImage var4 = (IDAImage)this._inputImages.elementAt(var3);
- var2[var3] = new ImageBvr(var4);
- }
-
- this._model.receiveInputImages(var2);
- this._inputImages = null;
- }
-
- if (this._model.getImportBase() == null) {
- this._model.setImportBase(((Applet)this).getCodeBase());
- }
-
- BvrsToRun var8 = new BvrsToRun(this._view);
- this._model.createModel(var8);
- var8.invalidate();
- this._backgroundImg = this.createBackgroundImage();
- this._img = this._model.getImage();
- if (this._img == null) {
- this._img = Statics.emptyImage;
- }
-
- this._snd = this._model.getSound();
- if (this._snd == null) {
- this._snd = Statics.silence;
- }
-
- this._constructed = true;
- }
- } catch (ComFailException var7) {
- throw this.handleError(var7);
- }
- }
-
- public synchronized void setModel(Model var1) {
- this._model = var1;
- this._modelSetYet = true;
- this.notify();
- }
-
- public void ReportError(int var1, String var2) {
- }
-
- protected DXMException handleError(ComFailException var1) throws DXMException {
- return this.handleError(((ComException)var1).getHResult(), ((Throwable)var1).getMessage());
- }
-
- protected DXMException handleError(int var1, String var2) throws DXMException {
- this._errorRecv.handleError(var1, var2, (Viewer)null);
- return new DXMException(var1, var2);
- }
-
- public void SetStatusText(String var1) {
- System.out.println(var1);
- }
- }
-